<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>01组建的基本使用</title>
</head>
<body>
    <div id="app">
        <my-cpn></my-cpn>
        <!-- 无法解析因为mycpn是局部组件 -->
        <!-- <mycpn></mycpn> -->
    </div>
    <div id="app2">
        <my-cpn></my-cpn>
        <my-cpn></my-cpn>
        <my-cpn></my-cpn>
        <mycpn></mycpn>
    </div>
</body>
<script src="../js/vue.js"></script>
<script>
    // 创建组件构造器
    let cpn = Vue.extend({
        template:`
            <div>
                Hello
                <p>哈哈哈</p>
                <h1>吴浩吃屁</h1>
            </div>
        `
    })
    // 组件注册(全局注册，意味着可以再多个vue实例中使用)
    Vue.component('my-cpn',cpn)

    // 疑问：怎么注册局部的组件？
    // 答：在某一个vue实例中注册的组件就是局部组件。如app2

    // 创建Vue实例
    let app = new Vue({
        el:'#app',
        data:{
            msg:`你好`
        },
        methods:{}
    })
    let app2 = new Vue({
        el:'#app2',
        data:{
            msg:`你好`
        },
        methods:{},
        // mycpn 组件的标签名,:后面的是创建的组件构造器
        components:{
            mycpn:cpn
        }
    })
    // 在vue实例外注册的组件是全局组件，在vue实例内注册的组件是局部组件
</script>

</html>